package cloud.pangui.core.utils;

import java.io.File;
import java.io.InputStream;
import java.util.List;

/**
 * @Auther hepangui
 * @Date 2020/11/5 0005
 */
public class FileUtils {

	/**
	 * 创建文件
	 *
	 * @param path
	 */
	public static void createFiles(String... path) {

	}

	/**
	 * 创建文件夹
	 *
	 * @param path
	 */
	public static void createDir(String... path) {

	}

	/**
	 * 删除文件
	 *
	 * @param path
	 */
	public static void deleteFiles(String... path) {

	}

	/**
	 * 复制文件或文件夹，包含所有子文件和文件夹
	 *
	 * @param from
	 * @param to
	 */
	public static void copyFiles(String from, String to) {

	}

	/**
	 * 移动文件或文件夹，包含所有子文件和文件夹
	 *
	 * @param from
	 * @param to
	 */
	public static void moveFiles(String from, String to) {

	}


	/**
	 * 从文件中读取字符串，UTF-8
	 *
	 * @param file
	 * @return
	 */
	public static String readString(File file) {
		return null;
	}

	/**
	 * 从文件中读取bytes
	 *
	 * @param file
	 * @return
	 */
	public static byte[] readBytes(File file) {
		return null;
	}

	/**
	 * 将文字写入文件
	 *
	 * @param content
	 * @param file
	 */
	public static void writeFile(String content, File file) {

	}

	/**
	 * 将bytes写入文件
	 *
	 * @param bytes
	 * @param file
	 */
	public static void writeFile(byte[] bytes, File file) {

	}

	/**
	 * 从输入流中获取数据并写入文件
	 *
	 * @param in
	 * @param file
	 */
	public static void writeFile(InputStream in, File file) {

	}

	/**
	 * 获取文件的扩展名
	 *
	 * @param File
	 * @return
	 */
	public static String getExtension(File File) {
		return null;
	}

	/**
	 * 获取文件的名字，不带后缀
	 *
	 * @param file
	 * @return
	 */
	public static String getPureName(File file) {
		return null;
	}

	public static boolean isBom(File file) {
		return false;
	}

	/**
	 * 格式化路径
	 *
	 * @param path 路径
	 */
//	public static String formatPath(String path) {
//		//
//		path = new File(path).getAbsolutePath();
//
//		//路径
//		List path_els = ListUtils.toList(path.split("[\\\\|/]+"));
//		if (path_els.size() > 1) {
//			int idx = 0;
//			while ((idx = path_els.indexOf("..")) >= 0) {
//				path_els.remove(idx);
//				if (idx > 0) {
//					path_els.remove(idx - 1);
//				}
//			}
//			path = ArrayUtils.join0(path_els.toArray(), File.separator);
//		}

//		return path;
//	}

	/**
	 * 获取父路径
	 * 反斜杠会变成正斜杠
	 *
	 * @param path 路径
	 */
//	public static String getParentPath(String path) {
//		path = formatPath(path);
//		if (path.endsWith("/")) {
//			path = path.substring(0, path.length() - 1);
//		}
//
//		int p = path.lastIndexOf("/");
//		if (p >= 0) return path.substring(0, p);
//		return null;
//	}

}
